#pragma once

#include "Pages/EditorPageModel.h"
#include "EditorAudioPageModel.m.h"

class RAudio;
class RMaterial;

RCLASS(ExtraHeader= "Audio/Audio.h")
class REditorAudioPageModel : public REditorPageModel
{
    ROBJECT

public:
    virtual TSharedObjectPtr<REditorPageModel> ShareClone(RObject* InOwner) const override;

    virtual SPath GetFilePath() const override
    {
        return FilePath;
    }

    virtual TSharedObjectPtr<RObject> GetFocuseObject() const override ;


    static TSharedObjectPtr<REditorAudioPageModel> Create(const SPath&  InFilePath, TSharedObjectPtr<RAudio> InAudio);

    TSharedObjectPtr<RAudio> GetAudio() const;

    RFIELD()
    TSharedObjectPtr<RAudio> Audio;

    RFIELD()
    SPath FilePath;

};